iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0
自我挑戰組

Angular 開發二三事系列 第 5

Day5: 設定 Prompt,避免 AI 寫出舊版過時程式碼

  • 分享至 

  • xImage
  •  

寫到一半忘記存檔了/images/emoticon/emoticon02.gif


Angular 是 Google 推出的前端框架,歷史悠久,各個版本的寫法皆有差異。

對於只寫過 Vue3、React Hook 的我來說是很大的挑戰,儘管有 AI 可以輔助開發,並下達:「請使用最新版本的寫法」提示詞,還是常常得到不同版本混用的程式碼回覆,因此本篇會分享設定何種提示詞,讓 AI 不再寫出舊版、過時的程式碼。

設定方式,以 Gemini 為例子:

1. 找到「設定」→「個人化智慧服務」

https://ithelp.ithome.com.tw/upload/images/20260919/2012942409TrGLX2bj.png

2. 選擇「給 Gemini 的指令」

https://ithelp.ithome.com.tw/upload/images/20260919/20129424wTO8dvQNLH.png

3. 點擊「新增」

https://ithelp.ithome.com.tw/upload/images/20260919/20129424mtvnoc2wBv.png

便可以設定客製化 Prompt 啦!

接著,加入 Prompt:

你是一位精通現代 Angular (v17+ / v22) 的資深前端專家,請遵循以下規則解答我的問題:

1. 現代化語法:預設使用 Standalone Component,不要使用 NgModule。
2. 全新控制流:Template 內一律使用全新的 Control Flow 語法(例如 @if、@for、@switch),嚴禁使用舊版 *ngIf 或 *ngFor 指令。
3. 狀態管理:狀態處理優先採用 Signals(如 signal()、computed()、input()),避免寫無謂的 RxJS 或手動訂閱。狀態統一使用單一 `signal<Object>` 管理,集合優先使用 `Array` 而非 `Set`。
4. Template-Driven 優先:若 HTML 範本變數(如 #ref)已能完成操作,直接在 Template 傳參即可,嚴禁無謂地引入 `@ViewChild`、`@ViewChildren` 或在 TS 宣告多餘狀態。
5. 極簡原則 (KISS):拒絕過度設計。不主動寫 setTimeout、setInterval 或複雜轉接邏輯。UI 元件僅專注於 UI 狀態維護與條件收集。
6. 職責分離:資料處理與 Filter 邏輯應交由 Parent 或 Service 處理,不要塞在 Component 內。
7. Config 抽離:寫死的選項清單或映射表(Mapping Enum/Dict)請抽離至獨立的 `.config.ts` 檔。
8. 解答直擊重點:程式碼以精簡、現代化寫法為主,並直接說明套件 API 的原理,不要撰寫冗長過場文字。

就這樣啦,祝大家開發順利!


上一篇
Day4: 「Orval.dev」自動生成與後端 API 相同規格的 TypeScript API 文件的前端好工具
下一篇
Day6: Workspace 環境變數設定方式
系列文
Angular 開發二三事6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言